import lockr from 'lockr'
//localStorage

function compileStr(code){ //对字符串进行加密         
    var c=String.fromCharCode(code.charCodeAt(0)+code.length);  
   for(var i=1;i<code.length;i++)  
    {        
     c+=String.fromCharCode(code.charCodeAt(i)+code.charCodeAt(i-1));  
   }     
   return escape(c);   
}
//二次加密方法

function uncompileStr(code){        
    code=unescape(code);        
    var c=String.fromCharCode(code.charCodeAt(0)-code.length);        
    for(var i=1;i<code.length;i++)  
    {        
     c+=String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i-1));        
    }        
    return c;   
}
//二次解密方法


let def=function(v){
    let createtime=new Date().getTime().toString()
    lockr.set('createtime',createtime)
    if(typeof(v)!="number"){
        return console.log("error",v)
    }
    var s=""
    s=createtime+"?"+v
    let y=compileStr(s)
    return lockr.set("shiro",y)
}
//加密函数


let enf=function(){
    let ctime=lockr.get('createtime')
    let sy=lockr.get('shiro')
    let sp=uncompileStr(sy)
    let aa=sp.split('?')
    if(aa[0]=ctime){
       return aa[1]
    }else{
        console.log("错误的人 + 错误的时间 = 退出吧")
        return undefined
    }
}
//解密函数


export { def, enf }

// login的页面入参def(number)
// def的方法将入参v作为字符串带入s=createtime+"?0"
// enf方法作为解析,返回入参的number
// vuex里的shirogetstate方法里,所有权限默认为false,获取number将对应的置为true
// 页面中依照this.$store.state.shiro.xxxx对应相应的权限取值
